/*
 * Listen.h
 *
 *  Created on: 31/01/2011
 *      Author: Nenem
 */

#ifndef LISTEN_H_
#define LISTEN_H_

#include "Tools.h"
#include "Position.h"
#include "Direction.h"
#include "Conversation.h"

class Listen {
	bool hasTalker;
	Information east;
	Information north;
	Information south;
	Information west;

	int owner;
public:
	Listen();
	virtual ~Listen();

	Point2D getListenPoint(Position *position, Direction *direction);
	void update(int delta, Position *position, Direction *direction, Conversation *conversation);

    Information getEast() const
    {
        return east;
    }

    Information getNorth() const
    {
        return north;
    }

    Information getSouth() const
    {
        return south;
    }

    Information getWest() const
    {
        return west;
    }

    void setEast(Information east)
    {
        this->east = east;
    }

    void setNorth(Information north)
    {
        this->north = north;
    }

    void setSouth(Information south)
    {
        this->south = south;
    }

    void setWest(Information west)
    {
        this->west = west;
    }

    int getOwner() const
    {
        return owner;
    }

    void setOwner(int owner)
    {
        this->owner = owner;
    }

    bool getHasTalker() const
    {
        return hasTalker;
    }

    void setHasTalker(bool hasTalker)
    {
        this->hasTalker = hasTalker;
    }

};

#endif /* LISTEN_H_ */
